# Project: AnalysisPipeline

CPP  = g++ -D_DEBUG_
CC   = gcc -D_DEBUG_
RES  = 
OBJ  = MinCover.o MLE.o Wilcoxon.o Sensitivity.o BrayCurtis.o JaccardIndex.o ThetaIndex.o GBProcessing.o RDPIDQuery.o BLASTAnalysis.o AnalysisPipeline.o Main.o $(RES)
LINKOBJ  = MinCover.o MLE.o Wilcoxon.o Sensitivity.o BrayCurtis.o JaccardIndex.o ThetaIndex.o GBProcessing.o RDPIDQuery.o BLASTAnalysis.o AnalysisPipeline.o Main.o $(RES)
LIBS =  -g3 -m64 -lgsl -lgslcblas
INCS =  
CXXINCS =  
BIN  = APIPE
CXXFLAGS = $(CXXINCS)   -g3 -m64
CFLAGS = $(INCS)   -g3 -m64
RM = rm -f

.PHONY: all all-before all-after clean clean-custom

all: all-before APIPE all-after


clean: clean-custom
	${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o APIPE $(LIBS)

BrayCurtis.o: BrayCurtis.cpp BrayCurtis.h common.h
	$(CPP) -c BrayCurtis.cpp -o BrayCurtis.o $(CXXFLAGS)

JaccardIndex.o: JaccardIndex.cpp JaccardIndex.h common.h
	$(CPP) -c JaccardIndex.cpp -o JaccardIndex.o $(CXXFLAGS)

Sensitivity.o: Sensitivity.cpp Sensitivity.h common.h
	$(CPP) -c Sensitivity.cpp -o Sensitivity.o $(CXXFLAGS)

Wilcoxon.o: Wilcoxon.cpp Wilcoxon.h common.h
	$(CPP) -c Wilcoxon.cpp -o Wilcoxon.o $(CXXFLAGS)

ThetaIndex.o: ThetaIndex.cpp ThetaIndex.h common.h
	$(CPP) -c ThetaIndex.cpp -o ThetaIndex.o $(CXXFLAGS)

GBProcessing.o: GBProcessing.cpp GBProcessing.h common.h
	$(CPP) -c GBProcessing.cpp -o GBProcessing.o $(CXXFLAGS)

RDPIDQuery.o: RDPIDQuery.cpp RDPIDQuery.h common.h
	$(CPP) -c RDPIDQuery.cpp -o RDPIDQuery.o $(CXXFLAGS)

MinCover.o: MinCover.cpp MinCover.h common.h
	$(CPP) -c MinCover.cpp -o MinCover.o $(CXXFLAGS)

MLE.o: MLE.cpp MLE.h common.h
	$(CPP) -c MLE.cpp -o MLE.o $(CXXFLAGS)

BLASTAnalysis.o: BLASTAnalysis.cpp BLASTAnalysis.h common.h
	$(CPP) -c BLASTAnalysis.cpp -o BLASTAnalysis.o $(CXXFLAGS)

AnalysisPipeline.o: AnalysisPipeline.cpp AnalysisPipeline.h common.h
	$(CPP) -c AnalysisPipeline.cpp -o AnalysisPipeline.o $(CXXFLAGS)

Main.o: Main.cpp AnalysisPipeline.h
	$(CPP) -c Main.cpp -o Main.o $(CXXFLAGS)
